//public void calculateCluster(){
//        int dormCapacity = 10;
//        int studentNum = 100;
//        int clusterNum = studentNum/dormCapacity;
//        int[][] dataSet = new int[studentNum][4];
//        // 初始化数据集
//        // ...
//
//        // k-means算法
//        double[][] centroids = new double[clusterNum][4];
//        // 随机设置初始中心点
//        for(int i=0;i&lt;clusterNum;i++){
//        centroids[i][0] = Math.random();
//        centroids[i][1] = Math.random();
//        centroids[i][2] = Math.random();
//        centroids[i][3] = Math.random();
//        }
//        // 分簇循环
//        boolean isDone = false;
//        while(!isDone){
//        // 计算每个点到每个中心点的距离
//        double[][] distanceMatrix = new double[studentNum][clusterNum];
//        for(int i=0;i&lt;studentNum;i++){
//        for(int j=0;j&lt;clusterNum;j++){
//        // 计算欧式距离
//        distanceMatrix[i][j] = Math.sqrt(Math.pow(dataSet[i][0]-centroids[j][0],2) + Math.pow(dataSet[i][1]-centroids[j][1],2) + Math.pow(dataSet[i][2]-centroids[j][2],2) + Math.pow(dataSet[i][3]-centroids[j][3],2));
//        }
//        }
//        // 根据距离矩阵重新分簇
//        int[] clusterAssment = new int[studentNum];
//        for(int i=0;i&lt;studentNum;i++){
//        // 计算每个点最近的中心点
//        int minIndex = 0;
//        double minDistance = Double.MAX_VALUE;
//        for(int j=0;j&lt;clusterNum;j++){
//        if(distanceMatrix[i][j] &lt; minDistance){
//        minIndex = j;
//        minDistance = distanceMatrix[i][j];
//        }
//        }
//        // 将其分配到最近的中心点
//        clusterAssment[i] = minIndex;
//        }
//        // 计算新的中心点
//        double[][] newCentroids = new double[clusterNum][4];
//        for(int i=0;i&lt;clusterNum;i++){
//        int count = 0;
//        double sumX = 0;
//        double sumY = 0;
//        double sumZ = 0;
//        double sumT = 0;
//        for(int j=0;j&lt;studentNum;j++){
//        if(clusterAssment[j] == i){
//        count++;
//        sumX += dataSet[j][0];
//        sumY += dataSet[j][1];
//        sumZ += dataSet[j][2];
//        sumT += dataSet[j][3];
//        }
//        }
//        // 计算每个簇的平均值
//        newCentroids[i][0] = sumX/count;
//        newCentroids[i][1] = sumY/count;
//        newCentroids[i][2] = sumZ/count;
//
//        newCentroids[i][3] = sumT/count;
//        }
//        return newCentroids;
//        }